package com.iflytek.ci.qams.service;

import com.iflytek.ci.qams.domain.Action;

import java.util.List;
import java.util.Map;

public interface ActionService {

	/**
	 * 根据action id得到这个action的详细信息
	 * 
	 * @param id  action_id
	 * @return issue_action
	 */
	Action getById(long id);

	/**
	 * 根据问题id得到有关这个问题的所有action
	 * 
	 * @param issue_id  问题id
	 * @return issue_action
	 */
	List<Action> getByIssue_Id(long issue_id);

	/**
	 * 增加一个新的 issue_action
	 * 
	 * @param issue_action
	 *            issue_action'的详细信息
	 */
	void add_issue_action(Action issue_action);

	/**
	 * 根据问题id 或者 action id 删除action信息
	 * 
	 * @param params
	 *  query condition Map
     *            key issue:    问题的id
     *            id :           action 的  id
	 */
	void delete_issue_action(Map<String, Object> params);

	/**
	 * 添加操作记录
     *
	 * @param issue_id    问题id
	 * @param action_type    action的类型
	 * @param old_value        action操作的  旧值
	 * @param new_value      action操作的  新值
	 */
	void add_action(long issue_id,String action_type,String old_value,String new_value);
	
	/**
	 * 批量添加操作记录
     *
	 * @param issue_ids   多个问题的id
	 * @param action_type   多个问题的类型
	 * @param old_value       多个问题的操作  旧值
	 * @param new_value      多个问题的操作  新值
	 */
	public void add_batch_action(String[] issue_ids, String action_type, List<String> old_value,
			String new_value);
}
